home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / v8n17.arc / ALPHACOL.PAS next >
Pascal/Delphi Source File  |  1989-09-07  |  800b  |  37 lines

  1.  
  2.  
  3.  
  4. PROGRAM AlphaCol;
  5. (*Translate integers to and from alphabetic
  6.   column headings.  Integers from 0 to 701,
  7.   headings from " A" to "ZZ"*)
  8.  
  9. TYPE AString = STRING[2];
  10.  
  11. VAR i : Integer;
  12.  
  13.   FUNCTION Alpha(i : Integer) : AString;
  14.   CONST digits : ARRAY[0..26] OF Char = ' ABCDEFGHIJKLMNOPQRSTUVWXYZ';
  15.   BEGIN
  16.     Alpha := digits[i DIV 26] + digits[Succ(i MOD 26)];
  17.   END;
  18.  
  19.   FUNCTION Numeric(AlStg : AString) : Integer;
  20.   BEGIN
  21.     IF AlStg[1] = ' ' THEN
  22.       Numeric := (Ord(AlStg[2])-65)
  23.     ELSE
  24.       Numeric := ((Ord(AlStg[1])-64)*26) + (Ord(AlStg[2])-65);
  25.   END;
  26.  
  27. BEGIN                             {Demo}
  28.   FOR i := 0 TO 701 DO
  29.     BEGIN
  30.       Write('Column is *', Alpha(i), '*');
  31.       WriteLn('  Column value is ', Numeric(Alpha(i)), '.');
  32.     END;
  33. END.
  34.  
  35.  
  36.  
  37.